home *** CD-ROM | disk | FTP | other *** search
- unit NumbersU;
-
- interface
-
- uses
- WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
-
- type
- TForm1 = class(TForm)
- Edit1: TEdit;
- Edit2: TEdit;
- Edit3: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- procedure Button1Click(Sender: TObject);
- procedure Edit1Change(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ShowMessage(FormatFloat('#,##0.00', Pi));
- ShowMessage(FloatToStrF(Pi, ffNumber, 10, 2));
- end;
-
- function StripNumberString(const Num: String): String;
- var
- I: Integer;
- begin
- Result := Num;
- { Get rid of any currency string }
- I := Pos(CurrencyString, Result);
- if I > 0 then
- Delete(Result, I, Length(CurrencyString));
- { Get rid of any thousands separators string }
- for I := Length(Num) downto 1 do
- if Result[I] = ThousandSeparator then
- Delete(Result, I, 1)
- end;
-
- procedure TForm1.Edit1Change(Sender: TObject);
- var
- E: Extended;
- begin
- if Edit1.Text <> '' then
- begin
- { Get original number }
- E := StrToFloat(Edit1.Text);
- { Format it with thousands separators }
- Edit2.Text := FloatToStrF(E, ffNumber, 10, 2);
- { Now take the formatted number string, }
- { and translate it back to a real float }
- E := StrToFloat(StripNumberString(Edit2.Text));
- Edit3.Text := FloatToStr(E)
- end
- end;
-
- end.
-